Skip to content

[Issue #8942] Split staging E2E workflow: sharded no-auth, single-worker auth#8965

Merged
Bhavna-Ramachandran merged 18 commits intomainfrom
BR-8942-E2E-Staging-Run
Mar 16, 2026
Merged

[Issue #8942] Split staging E2E workflow: sharded no-auth, single-worker auth#8965
Bhavna-Ramachandran merged 18 commits intomainfrom
BR-8942-E2E-Staging-Run

Conversation

@Bhavna-Ramachandran
Copy link
Collaborator

@Bhavna-Ramachandran Bhavna-Ramachandran commented Mar 10, 2026

Summary

Work for : Task #8942

Changes proposed

  • Tests that require Login.gov authentication now contain logic to run only against Chrome when targeting staging.
  • The staging workflow has been split into two jobs:
    • e2e-tests-no-auth-sharded : Runs in parallel shards similar to local E2E runs.
    • e2e-tests-auth-single-worker : Runs auth-related tests in a single shard to avoid parallel Login.gov sessions.

Context for reviewers

Due to Staging Login.gov limitations - authentication tests cannot run in parallel. Splitting the workflow ensures non-auth tests still benefit from parallelization while auth tests run safely in a single worker.

During this PR, we noticed that - Even with serially run tests, there were few more challenges with Login.gov OTP codes, this PR mainly addresses the fix for these challenges + extra tuning on other tests.

  • Login.gov OTPs are valid for 30 seconds and single-use. In longer test runs or in serially run tests:
    • By the time a Test in series reaches the MFA step, the generated code becomes invalid before login.gov processes it or
    • If a test was faster the same code used in previous test login may be attempted again by another test (as the OTP was still valid), which login.gov rejects even if it is still within the same window.

This PR ensures a fresh OTP is generated and handles retry logic if the code is rejected, making the login flow more stable for the E2E test run.

Credit

Tagging approach inspired by @doug-s-nava's PR #8960 , where tags are passed via the test options object instead of embedding them in the test name.

@Bhavna-Ramachandran Bhavna-Ramachandran changed the title Split staging E2E workflow: sharded no-auth, single-worker auth; upda… [Issue #8942] Split staging E2E workflow: sharded no-auth, single-worker auth Mar 11, 2026
@Bhavna-Ramachandran
Copy link
Collaborator Author

Credit: Tagging approach inspired by @doug-s-nava's PR #8960 , where tags are passed via the test options object instead of embedding them in the test name.

mdragon
mdragon previously approved these changes Mar 13, 2026
Copy link
Collaborator

@mdragon mdragon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏻

Copy link
Collaborator

@doug-s-nava doug-s-nava left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if we solved this by opting out of anything but chrome within the affected tests rather than updating the jobs?

Copy link
Collaborator

@doug-s-nava doug-s-nava left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it doesn't look like non-chrome auth dependent tests are actually being skipped here unless I'm missing something

Copy link
Collaborator

@doug-s-nava doug-s-nava left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ ✅ ✅ ✅

@Bhavna-Ramachandran Bhavna-Ramachandran merged commit bb214da into main Mar 16, 2026
18 checks passed
@Bhavna-Ramachandran Bhavna-Ramachandran deleted the BR-8942-E2E-Staging-Run branch March 16, 2026 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants